package com.sjz.demo1.service.impl;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.sjz.demo1.bean.User;
import com.sjz.demo1.mapper.UserMapper;
import com.sjz.demo1.service.UserService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
 * @program: SpringBoot
 * @ClassName UserServiceImpl
 * @description:
 * @author: 陈真
 * @create: 2021-06-19 02:01
 * @Version 1.0
 **/
@Service
public class UserServiceImpl implements UserService {
    @Resource
    private UserMapper mapper;

    /**
     * 查询全部用户信息
     * pageNo 第几页
     * pageSize 每页的条数
     * @return 用户集合
     */
    @Override
    public PageInfo<User> findAll(int pageNo,int pageSize) {
        /*传入pageNo,pageSize来进行分页*/
        PageHelper.startPage(pageNo,pageSize);
        /*调用mapper中的查询全部的方法*/
        List<User> list = mapper.findAll();
        /*把list集合保存到pageInfo对象中*/
        PageInfo<User> pageInfo=new PageInfo<>(list);
        /*返回pageInfo对象*/
        return pageInfo;
    }

    /**
     * 返回集合 没有分页
     *
     * @return
     */
    @Override
    public List<User> findAll2() {
        return mapper.findAll();
    }

    /**
     * 保存用户信息
     *
     * @param user 对象
     * @return 影响的行数
     */
    @Override
    public int saveUser(User user) {
        return mapper.saveUser(user);
    }

    /**
     * 根据id删除用户
     *
     * @param id 编号
     * @return 影响的行数
     */
    @Override
    public int delUserById(int id) {
        return mapper.delUserById(id);
    }

    /**
     * 根据编号查询用户信息
     *
     * @param id 编号
     * @return user对象
     */
    @Override
    public User findUserById(int id) {
        return mapper.findUserById(id);
    }

    /**
     * 根据编号更改用户信息
     *
     * @param user
     * @return
     */
    @Override
    public int updateUserById(User user) {
        return mapper.updateUserById(user);
    }

    /**
     * 登录
     *
     * @param user
     * @return
     */
    @Override
    public User loginByName(User user) {
        return mapper.loginByName(user);
    }
}
